﻿using DocumentFormat.OpenXml.Lite.DrawingML.Style;
using DocumentFormat.OpenXml.Lite.DrawingML.Visual;
using DocumentFormat.OpenXml.Lite.Xml;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace DocumentFormat.OpenXml.Lite.DrawingML.Effect
{
    [XmlRoot("effectLst", Namespace = Constants.Main)]
    public class EffectList : XmlSerializable, IEffectProperty
    {
        [Optional]
        [XmlElement("blur", Namespace = Constants.Main)]
        public Blur Blur { get; set; }

        [Optional]
        [XmlElement("fillOverlay", Namespace = Constants.Main)]
        public FillOverlay FillOverlay { get; set; }

        [Optional]
        [XmlElement("glow", Namespace = Constants.Main)]
        public Glow Glow { get; set; }

        [Optional]
        [XmlElement("innerShdw", Namespace = Constants.Main)]
        public InnerShadow InnerShadow { get; set; }

        [Optional]
        [XmlElement("outerShdw", Namespace = Constants.Main)]
        public OuterShadow OuterShadow { get; set; }

        [Optional]
        [XmlElement("prstShdw", Namespace = Constants.Main)]
        public PresetShadow PresetShadow { get; set; }

        [Optional]
        [XmlElement("reflection", Namespace = Constants.Main)]
        public Reflection Reflection { get; set; }

        [Optional]
        [XmlElement("softEdge", Namespace = Constants.Main)]
        public SoftEdge SoftEdge { get; set; }

        public EffectList() { }
    }
}
